// #include<vector>
// #include<limits>
// #include<cstddef>
// #include<iostream>
// using namespace std;

// class EncodeA{
// public:
// //c = k+m  k = 6 日期滚动球球和 yyyymmdd  Aa 
//     int GetK(string date){
//         auto sum = 0;
//         for(auto i = 0; i < date.size(); i++){
//             auto v = date[i]-'0';
//             sum += v;
//         }
//         // std::cout << "sum:" << sum << endl;
//         while(sum >= 10) {
//             auto newSum = 0;
//             while(sum > 0){
//                 auto r = sum % 10;
//                 sum /= 10;
//                 newSum += r;
//             }
//             sum = newSum;
//             // std::cout << "sum:" << sum << endl;
//         }
//         // std::cout << "sum:" << sum << endl;
//         return sum;
//     }
//     string EnCrypt(string date, string word){
//         if(date.size() != 8) return "none";
//         auto year = date.substr(0, 4);
//         auto y = std::stoi(year);
//         if(y < 1900 || y > 2020) return "none";
//         auto mm = date.substr(4, 2);
//         auto m = std::stoi(mm);
//         if(m < 1 || m > 12) return "none";
//         auto day = date.substr(6, 2);
//         auto d = std::stoi(day);
//         if(d < 1 || d > 31) return "none";

//         auto needDay = 0;
//         if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){
//             if(d <= 0 || d > 31) return "none";
//         }
//         else if(m != 2) {
//             if(d <= 0 || d > 30) return "none";
//         }else {
//             if(((y % 400)  == 0)  || ((y % 100) != 0 && (y %4) == 0)){
//                 if(d <= 0 || d > 29) return "none";
//             }else {
//                 if(d <= 0 || d > 28) return "none";
//             }
//         }

//         auto k = GetK(date);
//         std::vector<char> ret;
//         for(auto i = 0; i < word.size(); i++){
//             if(word[i] == ' '){
//                 ret.push_back('#');
//             }else {
//                 if(word[i] >= 'A' && word[i] <= 'Z'){
//                     auto c = (word[i]-'A'+k)%26 + 'A';
//                     ret.push_back(c);
//                 }else {
//                     auto c = (word[i]-'a'+k)%26 + 'a';
//                     ret.push_back(c);
//                 }
//             }
//         }
//         std::string s(ret.begin(), ret.end());
//         return s;
//     }


// };
// int main(int, char**) {
//     while(true) {
//         string date;
//         if(!getline(std::cin, date)) break;
//         // if(date.size() == 0) break;

//         string word;
//         getline(std::cin, word);

//         // string date("20000220");
//         // // string word("I wrote a program to get a grade A");
//         // string word("");
//         EncodeA ea;
//         auto ot = ea.EnCrypt(date, word);
//         std::cout << ot << endl;
//     }
// }
